package com.fjwt.gz.db.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.util.Date;

/**
 * <p>
 * 黑名单规则表
 * </p>
 *
 * @author wangjie
 * @since 2025-05-12
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("t_b_blacklist_rule")
public class BlacklistRuleEntity implements Serializable {

    private static final long serialVersionUID = 1L;

    public static LambdaQueryWrapper<BlacklistRuleEntity> gw() {
        return new LambdaQueryWrapper<>();
    }

    /**
     * 主键
     */
    @TableId(value = "blacklist_rule_id", type = IdType.AUTO)
    private Long blacklistRuleId;

    /**
     * 黑名单规则名称（最多16个字符）
     */
    private String ruleName;

    /**
     * 规则类型 0：客户经理 1 其他
     */
    private Integer ruleType;

    /**
     * 触发黑名单提示语（最多32个字符）
     */
    private String ruleTip;

    /**
     * 机构ID
     */
    private String agentNo;

    /**
     * 一级机构号
     */
    private String agentNo1;

    /**
     * 二级机构号
     */
    private String agentNo2;

    /**
     * 三级机构号
     */
    private String agentNo3;

    /**
     * 四级机构号  如果机构号为空则写 0
     */
    private String agentNo4;

    /**
     * 是否强制配置  0否 1是，默认0
     */
    private String isForceConfig;

    /**
     * 校验字段，例如：phone/cstmNo
     */
    private String checkField;

    /**
     * 额外的字段1，例如：{'name':'字段1', isMust: true/false }
     */
    private String extraField1;

    /**
     * 额外的字段2
     */
    private String extraField2;

    /**
     * 额外的字段3
     */
    private String extraField3;

    /**
     * 额外的字段4
     */
    private String extraField4;

    /**
     * 创建时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createdAt;

    /**
     * 创建者id
     */
    private Long createdUid;

    /**
     * 更新建时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date updatedAt;


}
